The field of software protection is developing rapidly and there are presently a variety of techniques used to protect software from unauthorized access. The need for software protection arises for several reasons. These reasons vary and can depend upon whether the protection is used in a military or civilian setting.
In a military setting software protection may be used to prevent access to a deployable device, such as a weapon or missile, or other fielded equipment having sensitive or classified information. Software protection is used to prevent or slow a persistent and knowledgeable intruder from gaining access to the information. The software protection may be intrusion detection protected such that upon detection of an intruder the software is erased or becomes encrypted. The software may also have various encrypted or embedded codes that are used to prevent access to the protected information.
In a civilian setting software protection may be used to prevent access to proprietary code or computer systems. Some individuals may attempt to use the code or information contained within the computer systems without proper licensing and to gain unauthorized access to the protected equipment. In civilian applications, software protection may be in various forms, such as software security modules, protective layer codes, encrypted codes, and protection tool routines.
It is desirable in both military and civilian applications to prevent access to smart devices. Smart devices generally refer to devices that have logic for performing various decisions, calculations, computational functions, or other similar tasks. For example, a deployable device, that has embedded software for protection against unauthorized access, is considered a smart device. The deployable device contains devices, that may be hardware or software based, which are used in a logical manner to prevent access to the protected software.
For military and civilian applications, classified software residing within an operational system, which may include smart devices and other fielded equipment, needs to be protected from unauthorized access. This is especially true when a smart device of the operational system comes into control by an unauthorized intruder. For example, when an intruder has unlimited access to an undamaged smart weapon or other intelligent fielded equipment, the intruder may be able to defeat active anti-tamper software protection contained within a computer system of that weapon. The intruder may defeat the software protection by disabling write signals, to prevent software erasure, or by removing memory contained within the smart weapon, for external examination. Defeat of the software protection may allow an intruder to undesirably use the weapon or gain knowledge of contents therein.
Thus, there exists a need for an improved method of preventing access to software within an operational system by an unauthorized intruder.